1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect;
18
19 import static com.google.common.truth.Truth.assertThat;
20
21 import com.google.common.annotations.GwtCompatible;
22 import com.google.common.collect.testing.AnEnum;
23 import com.google.common.collect.testing.Helpers;
24 import com.google.common.collect.testing.TestEnumMapGenerator;
25
26 import junit.framework.TestCase;
27
28 import java.util.Map;
29 import java.util.Map.Entry;
30
31
32
33
34
35
36 @GwtCompatible(emulated = true)
37 public class ImmutableEnumMapTest extends TestCase {
38 public static class ImmutableEnumMapGenerator extends TestEnumMapGenerator {
39 @Override
40 protected Map<AnEnum, String> create(Entry<AnEnum, String>[] entries) {
41 Map<AnEnum, String> map = Maps.newHashMap();
42 for (Entry<AnEnum, String> entry : entries) {
43 map.put(entry.getKey(), entry.getValue());
44 }
45 return Maps.immutableEnumMap(map);
46 }
47 }
48
49 public void testEmptyImmutableEnumMap() {
50 ImmutableMap<AnEnum, String> map = Maps.immutableEnumMap(ImmutableMap.<AnEnum, String>of());
51 assertEquals(ImmutableMap.of(), map);
52 }
53
54 public void testImmutableEnumMapOrdering() {
55 ImmutableMap<AnEnum, String> map = Maps.immutableEnumMap(
56 ImmutableMap.of(AnEnum.C, "c", AnEnum.A, "a", AnEnum.E, "e"));
57
58 assertThat(map.entrySet()).has().exactly(
59 Helpers.mapEntry(AnEnum.A, "a"),
60 Helpers.mapEntry(AnEnum.C, "c"),
61 Helpers.mapEntry(AnEnum.E, "e")).inOrder();
62 }
63 }
64